package com.gua.user.response;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.gua.common.response.BaseRespVO;
import lombok.Getter;
import lombok.Setter;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@JsonInclude(JsonInclude.Include.NON_EMPTY)
@Getter
@Setter
public class DesktopMenuDTO extends BaseRespVO {

    /**
     * 主键
     */
    private Long id;
    /**
     * 路由path
     */
    private String path;

    /**
     * 路由名称
     */
    private String name;

    /**
     * 菜单显示名
     */
    private String label;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * 菜单是否隐藏， true隐藏；false不隐藏
     */
    private boolean hide;

    /**
     *  菜单对应的vue路径
     */
    private String url;

    /**
     * 是否隐藏导航头
     */
    private boolean hideSliderBar;

    /**
     * 父id；顶级为0
     */
    private Long parentId;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 额外的属性
     */
    private Map<String, Object> meta;

    /**
     * 子节点
     */
    private List<DesktopMenuDTO> children = new ArrayList<>();
}
